开始之前:
1. 识别已学习物体输出ID与名称
在自学习分类功能下,当已学习某一物体后,HUSKYLENS 2 再次见到该物体就能识别出来,可以使用以下示例程序获取识别的已学习物体对应ID和名称。
#include "unihiker_k10.h"
#include "DFRobot_HuskylensV2.h"
// 创建对象
HuskylensV2 huskylens;
UNIHIKER_K10 k10;
uint8_t screen_dir=2;
// 主程序开始
void setup() {
k10.begin();
Wire.begin();
while (!huskylens.begin(Wire)) {
delay(100);
}
k10.initScreen(screen_dir);
k10.creatCanvas();
huskylens.switchAlgorithm(ALGORITHM_SELF_LEARNING_CLASSIFICATION);
}
void loop() {
huskylens.getResult(ALGORITHM_SELF_LEARNING_CLASSIFICATION);
if ((huskylens.available(ALGORITHM_SELF_LEARNING_CLASSIFICATION))) {
k10.canvas->canvasText((String("物体ID:") + String((RET_ITEM_NUM(huskylens.getCachedCenterResult(ALGORITHM_SELF_LEARNING_CLASSIFICATION), Result, ID)))), 1, 0x0000FF);
k10.canvas->canvasText((String("物体名称:") + String((RET_ITEM_STR(huskylens.getCachedCenterResult(ALGORITHM_SELF_LEARNING_CLASSIFICATION), Result, name)))), 3, 0x0000FF);
}
k10.canvas->updateCanvas();
delay(50);
}
上传程序,等待程序上传完成后。
HUSKYLENS 2学习物体完成后,将HUSKYLENS 2摄像头对准已学习的物体,观察输出结果。如何学习物体详细操作请看:自学习分类。
**运行结果:**如下,当已学习过的某一物体出现在画面中时会被框出同时显示该物体名称、ID与置信度。如果未设置该物体的名称,则输出名称默认为:物体。